home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_100
/
108_01
/
compress.doc
< prev
next >
Wrap
Text File
|
1985-11-13
|
2KB
|
67 lines
compress.doc Version 2.3
15-Aug-80
this program compresses/expands any valid ASCII text
file. the CP/M CRLF sequence is replaced by NL, and
strings of identical characters of greater than 3 bytes
are reduced to 3 bytes in the following format:
byte 1: repeat code RCODE 000Q
byte 2: repeat count cntr ---Q
byte 3: character c ---Q
in addition, the most common key-words of various
languages (BASIC, ASSEMBLER, FORTRAN, etc.), as
well as a number of miscellaneous strings, are
tokenized to 1 byte. the average total disk space
saved is approximately 20%. processing time is
approximately 30" for a 10K file with read-after-
write (RAW) in a 40K system.
considerable protection has been built in to avoid
such disasters as compressing a compressed file or
expanding an ordinary file. the following chart
summarizes legal and illegal modes:
normal file <-----------------> compressed file
/C /E
.ASM ---> assembler source <--- .$AS
.BAS ---> CBASIC source <--- .$BA
.C ---> C source <--- .$C
.COB ---> COBOL source <--- .$CO
.DAT ---> general data file <--- .$DA
.DOC ---> general documentation <--- .$DO
.FOR ---> FORTRAN source <--- .$FO
.LIB ---> library source <--- .$LI
.MAC ---> macro-assembler source <--- .$MA
.MBA ---> MBASIC source <--- .$MB
(requires verification)
.RAT ---> RATFOR source <--- .$RA
.SRC ---> PASCAL source <--- .$SR
.TXT ---> general text file <--- .$TX
(requires verification)
all other operations are considered illegal and the
program will abort. note that all files which have
been processed with earlier versions of COMPRESS will
be handled correctly by this version and any future
versions will be upward-compatible.
the supplied version requires a minimum of 40K in
which to operate. note also that there must be
sufficient space on the disk to hold both the
compressed and normal files during processing. upon
successful completion, the original file (normal
in the case of compression - compressed in the case
of expansion) is deleted.
compressed files should be PIPed using the [O] option.
A>compress {dev:}filename.ext /switch
/c compress file
/e expand file